﻿using System;
namespace DAL.Gateway
{
    public interface IGDatos
    {
        void AbortarTransaccion();
        bool Autenticar(string vUsuario, string vPassword);
        bool Autenticar(string CadenaDeConexion);
        bool Autenticar();
        string Base { get; set; }
        string CadenaConexion { get; set; }
        void CerrarConexion();
        void ConfirmarTransaccion();
        int Ejecutar(string procedimientoAlmacenado);
        int Ejecutar(string procedimientoAlmacenado, params object[] args);
        int EjecutarSql(string comandoSql);
        void IniciarTransaccion();
        string Password { get; set; }
        string Servidor { get; set; }
        System.Data.IDataReader TraerDataReader(string procedimientoAlmacenado, params object[] args);
        System.Data.IDataReader TraerDataReader(string procedimientoAlmacenado);
        System.Data.IDataReader TraerDataReaderSql(string comandoSql);
        System.Data.DataSet TraerDataSet(string procedimientoAlmacenado);
        System.Data.DataSet TraerDataSet(string procedimientoAlmacenado, params object[] args);
        System.Data.DataSet TraerDataSetSql(string comandoSql);
        System.Data.DataTable TraerDataTable(string procedimientoAlmacenado);
        System.Data.DataTable TraerDataTable(string procedimientoAlmacenado, params object[] args);
        System.Data.DataTable TraerDataTableSql(string comandoSql);
        object TraerValorEscalar(string procedimientoAlmacenado);
        object TraerValorEscalar(string procedimientoAlmacenado, params object[] args);
        object TraerValorEscalarSql(string comandoSql);
        object TraerValorOutput(string procedimientoAlmacenado);
        object TraerValorOutput(string procedimientoAlmacenado, params object[] args);
        object TraerValorOutputSql(string comadoSql);
        string Usuario { get; set; }
    }
}
